package stardust.core.network.protocol.socks4;


public enum SocksCommand
{

  /**
   * TCP 的 Connect 命令。
   */
  connect(1),
  /**
   * TCP 的 Bind 命令。
   */
  bind(2),
  /**
   * UDP 连接命令(Socks5 Only)。
   */
  udpAssociate(3);

  public final int value;

  private SocksCommand(int value)
  {
    this.value = value;
  }

  public int getValue()
  {
    return this.value;
  }

  public static SocksCommand get(int value)
  {
    SocksCommand[] types = SocksCommand.values();

    for (int i = 0; i < types.length; i++)
    {
      if (types[i].value == value)
      {
        return types[i];
      }
    }

    return null;
  }

  public String toString()
  {
    return String.valueOf(this.getValue());
  }

}
